import type { PageParam, PageResult } from '@vben/request';
import type { Dayjs } from 'dayjs';

import { requestClient } from '#/api/request';
export namespace PerFamilyBizApi {
  /** 经商办企业信息 */
  export interface FamilyBiz {
    id: number; // 主键ID
    employeeId?: number; // 人员ID，对应 per_employee.id
    relation: string; // 与本人关系（称谓）
    systemPersonId: number; // 系统人员ID，对应 system_person.id
    familyName: string; // 家庭成员姓名
    cardType: string; // 证件类型
    familyIdcard: string; // 家庭成员身份证号
    isForeign: boolean; // 是否为境外企业（1：是，0：否）
    enterpriseName: string; // 企业或其他市场主体名称
    position: string; // 职务
    businessScope: string; // 经营范围
    creditCode: string; // 统一社会信用代码/注册号
    establishDate: string | Dayjs; // 成立日期
    registerAddress: string; // 注册地
    operateAddress: string; // 经营地
    enterpriseType: string; // 企业或其他市场主体类型
    registerCapital: number; // 注册资本
    investAmount: number; // 出资金额或个人认缴出资额
    investRatio: number; // 个人出资比例（%）
    remark: string; // 备注
    status: number; // 状态（1：有效，0：无效）
  }
}

/** 查询经商办企业分页 */
export function getFamilyBizPage(
  data: PageParam,
  desensitize: boolean,
  encrypt: boolean,
) {
  return requestClient.post<PageResult<PerFamilyBizApi.FamilyBiz>>(
    '/per/family-biz/page',
    data,
    { desensitize, encrypt },
  );
}

/** 查询经商办企业详情 */
export function getFamilyBiz(id: number) {
  return requestClient.get<PerFamilyBizApi.FamilyBiz>(
    `/per/family-biz/get?id=${id}`,
  );
}

/** 新增经商办企业 */
export function createFamilyBiz(data: PerFamilyBizApi.FamilyBiz) {
  return requestClient.post('/per/family-biz/create', data);
}

/** 修改经商办企业 */
export function updateFamilyBiz(data: PerFamilyBizApi.FamilyBiz) {
  return requestClient.put('/per/family-biz/update', data);
}

/** 删除经商办企业 */
export function deleteFamilyBiz(id: number) {
  return requestClient.delete(`/per/family-biz/delete?id=${id}`);
}

/** 批量删除经商办企业 */
export function deleteFamilyBizList(ids: number[]) {
  return requestClient.delete(
    `/per/family-biz/delete-list?ids=${ids.join(',')}`,
  );
}

/** 导出经商办企业 */
export function exportFamilyBiz(params: any) {
  return requestClient.download('/per/family-biz/export-excel', { params });
}
